import Vue from 'vue'
import App from './App.vue'
//element-ui
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

//Vue-router
import router from "@/router";

//vuex
import store from "@/store";

//mockjs
import './api/mock'
import Cookie from "js-cookie";
Vue.config.productionTip = false

//全局前置的导航守卫
router.beforeEach((to,from,next)=>{
  //判断token存不存在
  const token=Cookie.get('token')

  //token不存在，说明未登录，同时也不能是当前页面
  if (!token&&to.name!=='login'){//当前的token不存在，并且去向的页面不是登录页面（没有登录，除了登录页面那都不可以去）
    next({name:'login'})
  }else if (token&&to.name ==='login'){//当前的token存在并且去向是到登录页面（已经登录了不可重复登录）
    next({name:'home'})
  }else{
    next()
  }
})

new Vue({
  //挂载路由
  router,
  store,
  render: h => h(App),
  //防止白屏出现-->原因就是登陆之后才调用addMenu,但是刷新之后就不会调用addMenu了，因此，在vue实例初始化的时候就调用一下就行了
  created(){
    store.commit('addMenu',router)
  }
}).$mount('#app')
